package com.itheima.dubbo.mongodb.impl;


import cn.hutool.core.util.StrUtil;
import com.alibaba.dubbo.config.annotation.Service;
import com.itheima.commons.pojo.Users;

import com.itheima.dubbo.interfaces.UsersApi;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;

import java.util.List;

@Service
public class UsersApiImpl implements UsersApi {

    @Autowired
    private MongoTemplate mongoTemplate;


    // 添加好友关系
    @Override
    public void addUsers(Users users) {
        mongoTemplate.save(users);
    }

    // 查询某个人的好友列表
    @Override
    public List<Users> findUsersByUserId(Long userid, Integer page, Integer pagesize, String keyword) {
        // 先判断搜索关键词是否为空
        if (StrUtil.isBlank(keyword)) {
            // 为空  进行分页查询
            return mongoTemplate.find(Query.query(Criteria.where("userId").is(userid)).with(PageRequest.of(page - 1, pagesize)), Users.class);
        }
        // 进行全部查询
        return mongoTemplate.find(Query.query(Criteria.where("userId").is(userid)), Users.class);
    }
}
